/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package SQLDAL;

import DALFactory.IConn;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 *
 * @author kocio
 */
public class SQLConnection implements IConn
{
    private Connection conn;
    /**
     * 获得Connection对象
     * @return
     */
    public Connection getConnection()
    {
        return this.conn;
    }
    /**
     * JDBC建立数据库连接
     * @param className 驱动程序
     * @param url jdbc:subprotocol:subname 形式的数据库 url
     * @param user 数据库用户，连接是为该用户建立的
     * @param password 用户的密码
     */
    public void openConnection(String className,String url,String user,String password)
    {
        try
        {
            Class.forName(className);    //加载驱动程序
            if (conn == null || conn.isClosed())
            {
                conn = DriverManager.getConnection(url,user,password);    //建立连接
                System.out.println("连接数据库成功！");
            }
        }
        catch(ClassNotFoundException ex)
        {
            System.out.println("加载驱动程序失败！");
            ex.printStackTrace();
        }
        catch(SQLException ex)
        {
            System.out.println("连接数据库失败！");
            ex.printStackTrace();
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }
    }
    /**
    *关闭数据库连接
    */
    public void closeConnection()
    {
    	try
    	{
            if(conn!=null)
            {
                conn.close();    //关闭Connection对象
            }
    	}
    	catch(SQLException ex)
        {
            ex.printStackTrace();
        }
    }
}
